# app.py
from flask import Flask, render_template
from blue_flask import captcha_bp  # 导入 captcha.py 中的蓝图
from exts import db, mail  # 导入 config.py 中的 db 和 mail 对象
from models import 西游记

# 创建 Flask 实例
app = Flask(__name__)

# 加载配置
app.config.from_object('config')  # 从 config.py 加载配置

# 初始化数据库
db.init_app(app)

# 初始化邮件扩展
mail.init_app(app)

# 注册蓝图
app.register_blueprint(captcha_bp)  # 注册 captcha 蓝图


# 首页视图函数
@app.route('/')
def index():
    # 在视图函数内部查询数据
    all_users = 西游记.query.order_by(西游记.id).all()

    # 准备传递给模板的数据
    titles = [user.title for user in all_users]
    contents = [user.content for user in all_users]
    datas = zip(titles, contents)

    # 渲染模板并传递数据
    return render_template('index.html', datas=datas)


# 启动应用
if __name__ == '__main__':
    app.run(debug=True, port=4000)
